#include <iostream>
using namespace std;
int n,m;
const int N=2e6+10;
int a[N];
typedef long long LL;
LL l[N];
LL r[N];
int main()
{
	cin>>n>>m;
	int x;
	int cnt=0;
	for(int i=1;i<=n;i++)
	{
		cin>>x;
		if(x<0)
		l[-x]++;
		else if(x>0)
		r[x]++;
		else
		cnt++;
	}
	int sum=0;
	for(int i=1;i<=m;i++)
	{
		l[i]=l[i]+l[i-1];
		r[i]=r[i]+r[i-1];
	}
	for(int i=1;i<=m;i++)
	{
		
		int t=l[i]; 
		if(m-i*2>0)
		t+=r[m-i*2];
		sum=max(t,sum);
		
		t=r[i];
		if(m-i*2>0)
		t+=l[m-i*2];
		sum=max(t,sum);
	}
	cout<<sum+cnt<<endl;
	
	return 0;
}
